package com.haochang.chunkvod.app.utils;

import android.content.Context;
import android.os.Vibrator;

/**
 * 震动工具类
 *     @author Yangjie
 *     className VibratorUtil
 *     created at  2016/11/21  15:01
 */
public class VibratorUtil
{
	private Vibrator vibrator;//震动服务
	private static volatile VibratorUtil singleton;

	private VibratorUtil()
	{
	}

	public static VibratorUtil getInstance()
	{
		if (singleton == null)
		{
			synchronized (VibratorUtil.class)
			{
				if (singleton == null)
				{
					singleton = new VibratorUtil();
				}
			}
		}
		return singleton;
	}

	/**
	 *  开始震动
	 * @param context 上下文
	 * @param isRepeat 是否重复震动
	 */
	public void startVibrate(Context context, boolean isRepeat)
	{
		if (context != null)
		{
			if (null == vibrator)
			{
				vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
			}
			if (vibrator.hasVibrator())//硬件支持震动
			{
				long[] pattern = { 1000, 1500, 1000, 1500 }; // 静止时长，震动时长， 静止时长， 震动时长
				vibrator.vibrate(pattern, isRepeat ? 0 : -1);//repeat如果为-1代表不重复，只执行一次，其他代表会重复，0代表从pattern数组的第0个位置开始
			}
		}
	}

	/**
	 * 停止震动
	 */
	public void stopVibrate()
	{
		if (null != vibrator)
		{
			vibrator.cancel();
			vibrator = null;
		}
	}
}